#ifndef QQ_TEXT_EDIT
#define QQ_TEXT_EDIT

#include <qclipboard.h>
#include <qcryptographichash.h>
#include <qevent.h>
#include <qguiapplication.h>
#include <qmimedata.h>
#include <qmovie.h>
#include <qpainter.h>
#include <qpropertyanimation.h>
#include <qtemporaryfile.h>
#include <qtextedit.h>

#include <ElaEventBus.h>
#include <ElaMenu.h>
#include <ElaScrollBar.h>
#include <ElaTheme.h>

#include "widget/QQTextEditPrivate.h"
#include "widget/QQTextEditStyle.h"

#include <stdafx.h>

class QQTextEditPrivate;

class QQTextEdit :public QTextEdit
{
	Q_OBJECT
		Q_Q_CREATE(QQTextEdit)
public:
	explicit QQTextEdit(QWidget* parent = nullptr);
	explicit QQTextEdit(const QString& text, QWidget* parent = nullptr);
	virtual ~QQTextEdit();

	void clear();

	void addAnimation(const QString& url, QTextImageFormat format);

protected:
	virtual void focusInEvent(QFocusEvent* event) override;
	virtual void focusOutEvent(QFocusEvent* event) override;
	virtual void contextMenuEvent(QContextMenuEvent* event) override;
};


#endif // !QQ_TEXT_EDIT
